﻿using System;
using System.ComponentModel;
using System.Collections.Specialized;

using SBPweb.RIA.Client.Common.Collections;

using SBPweb.PlAzureNet.Client.Library.Social.Actors;

namespace SBPweb.PlAzureNet.Client.Library.Social.Friends
{

    public abstract class FriendManagerBase : ObservableList<IUser>
    {

        #region Properties

        protected int EstimatedFriendCount
        {
            get;
            set;
        }

        #endregion

        #region Events

        public event EventHandler Fetching;

        public event EventHandler Fetched;

        #endregion

        #region Methods

        public virtual void FetchFriends()
        {
        }


        protected virtual void OnFetching()
        {
            if (Fetching != null)
            {
                Fetching(this, EventArgs.Empty);
            }
        }

        protected virtual void OnFetched()
        {
            if (Fetched != null)
            {
                Fetched(this, EventArgs.Empty);
            }
        }

        #endregion

    }

}